package com.marvels.loanapply.channel.dao;

import java.util.List;

import com.marvels.loanapply.channel.dto.ChannelUserListParamDTO;
import com.marvels.loanapply.channel.dto.ChannelUserListResultDTO;
import com.marvels.loanapply.channel.dto.UserChannelInfo;
import com.marvels.loanapply.channel.dto.UserChannelInfoParamDTO;
import com.marvels.loanapply.channel.dto.UserChannelInfoResultDTO;

public interface UserMarvelChannelInfoMapper {

	int insertSelective(UserChannelInfo record);

	int updateByPrimaryKeySelective(UserChannelInfo record);

	int updateByChannelCode(UserChannelInfo record);

	/**
	 * 根据channelCode查询渠道信息dto
	 * 
	 * @param channelCode
	 * @return
	 */
	UserChannelInfoResultDTO queryUserChannelDtoByCode(String channelCode);

	/**
	 * 根据channelCode查询渠道信息实体
	 * 
	 * @param channelCode
	 * @return
	 */
	UserChannelInfo queryUserChannelByCode(String channelCode);

	/**
	 * 根据条件查询channel列表
	 * 
	 * @param channelCode
	 * @return
	 */
	List<UserChannelInfoResultDTO> queryUserChannelByParam(UserChannelInfoParamDTO userChannelInfoParamDTO);

	/**
	 * 查询用户渠道列表
	 * 
	 * @param userChannelInfoParamDTO
	 * @return
	 */
	List<UserChannelInfoResultDTO> queryUserChannelList(UserChannelInfoParamDTO userChannelInfoParamDTO);

	/**
	 * 查询该渠道的注册用户列表
	 * 
	 * @param channelUserListParamDTO
	 * @return
	 */
	List<ChannelUserListResultDTO> queryChannelRegisterUserList(ChannelUserListParamDTO channelUserListParamDTO);
}